home *** CD-ROM | disk | FTP | other *** search
- TRASH.CPX
-
- Version 01.05
-
- CPX-Modul der Utility-Serie von mz'91
-
-
-
-
- 1. Einleitung
-
- TRASH.CPX ist ein nachladbares Modul für das modulare Kontroll-
- feld XCONTROL von Atari.
- Es ermöglicht die Konfiguration eines residenten Treibers, der
- den Papierkorb des Desktop 'leerbar' macht, also die Restaurie-
- rung gelöschter Dateien ermöglicht.
- TRASH.CPX ist ein CPX-Modul der Utility-Serie von mz'91. Diese
- CPX-Module ermöglichen die Konfiguration der System-Hardware und
- -Software und im Zusammenspiel mit residenten Programmen einige
- nützliche Zusatzfunktionen.
- Die CPX-Module der Utility-Serie sind für den Einsatz auf Atari
- ST-Modellen geschrieben. Auf anderen Atari-Rechnern wurden sie
- nicht getestet. Einige Funktionen sind von der TOS-Version
- abhängig.
-
- Zur Zeit sind folgende CPX-Module verfügbar:
-
- DIVERSES.CPX V01.12 (1) -Uhrzeiteinblendung, Alarmzeit,
- Drucker-Code-Konverter,
- Bildwiederholfrequenzeinstellung
-
- DISK.CPX V01.02 (2) -Steprateneinstellung Laufwerke A
- und B, Floppy-Write-Verify-Wahl,
- HD-Parken mittels externem PRG
-
- TRASH.CPX V01.05 -Installation eines 'leerbaren
- Papierkorbs'
-
- DESKPIC.CPX V01.14 (3) -Anzeige eines Desktop-Hintergrund-
- Bildes im DEGAS-Format
-
-
-
- (1) Uhrfunktion nur für TOS 1.04 oder Hardwareuhr;
- Frequenzeinstellung nur für ST
- (2) HD-Parkfunktion nur für reine TOS-Programme geeignet
- (3) nur für hohe ST-Auflösung (640x400 monochrom)
-
- Bezug und Information:
-
- Michael Zuhl
- Transvaalstr. 16
- 1000 Berlin 65
-
-
- 2. Übersicht über die mitgelieferten Dateien
-
- TRASH.CPX ........ CPX-Modul für XCONTROL
- TRASH.PRG ........ residente Treiber für Papierkorb
- TRASH.DOC ........ diese Anleitung (WP-Format)
- TRASH.TXT ........ diese Anleitung (ASCII-Format)
-
-
- 2.1 Beschreibung von TRASH.CPX
-
- TRASH.CPX ist ein nachladbares Modul für das modulare Kontroll-
- feld XCONTROL von Atari. Es ermöglicht die Konfiguration des
- mitgelieferten residenten Treibers für die Installation eines
- 'leerbaren' Papierkorbs.
- TRASH.CPX sollte im gleichen Verzeichnis abgelegt werden wie die
- übrigen CPX-Module, damit es beim Booten von XCONTROL in die
- Liste der verfügbaren CPX-Module übernommen werden kann.
- TRASH.CPX arbeitet nur im Zusammenspiel mit dem residenten
- Programm TRASH.PRG (s. dort).
- TRASH.CPX ist ein CPX-Modul der Utility-Serie von mz'91 und als
- solches frei kopierbar. Es sollte sinnvollerweise nur mit dem
- Programm TRASH.PRG und dieser Anleitung weitergegeben werden. Die
- CPX-Module der Utility-Serie sind für den Gebrauch mit XCONTROL
- von Atari auf ST-Systemen konzipiert. Damit unterliegen sie den
- Einschränkungen und Besonderheiten, die Atari in der XCONTROL-
- Dokumentation aufgeführt hat (s. dort). Insbesondere stürzt der
- Rechner regelmäßig ab, wenn im Farbbetrieb die Auflösung geändert
- und anschließend im Löschdialog eine Scroll-Funktion aufgerufen
- wird, und zwar unabhängig davon, ob zuvor (wie von Atari
- empfohlen) XCONTROL abgeschaltet wurde oder nicht. Die Ursache
- dieses Verhaltens konnte ich trotz intensiver Suche nicht eruie-
- ren; daher muß von einem Wechsel der Auflösung bei Verwendung von
- TRASH.CPX / TRASH.PRG abgeraten werden (oder umgekehrt). Da die
- Farbdarstellung aber zum vernünftigen Arbeiten ohnehin ungeeignet
- ist, dürfte diese Einschränkung nicht ins Gewicht fallen.
-
-
- 2.2 Beschreibung von TRASH.PRG
-
- TRASH.PRG ist ein residentes Programm, das einen Treiber für die
- Benutzung des Desktop-Papierkorbs als 'leerbaren' Papierkorb zur
- Verfügung stellt, also die Möglichkeit bietet, gelöschte Dateien
- wieder zu restaurieren. Resident bedeutet, daß sich TRASH.PRG
- beim Booten in das Betriebssystem einklinkt und bis zum nächsten
- Reset bzw. Ausschalten im Speicher verbleibt. Wegen des geringen
- Speicherbedarfs ist dies auch in Systemen mit geringem Speicher-
- ausbau nicht problematisch.
- TRASH.PRG sollte wie alle residenten Programme aus dem AUTO-
- Ordner heraus beim Booten des Systems gestartet werden; da es auf
- den Zeitpunkt des Starts aber nicht ankommt, ist (nach Umbenen-
- nung in TRASH.TOS) auch ein Start vom Desktop aus möglich. Unter
- der Betriebssystemerweiterung MiNT muß TRASH.PRG nach MiNT
- gestartet werden, also z.B. aus MINT.CNF heraus.
- 2.3 Beschreibung von TRASH.DOC und TRASH.TXT
-
- TRASH.DOC und TRASH.TXT enthalten jeweils diesen Anleitungstext.
- TRASH.DOC liegt im WP-Format vor. Somit kann der Text mit allen
- Programmen, die das WORDPLUS-Datei-Format verarbeiten können,
- gelesen und ausgedruckt werden.
- TRASH.TXT enthält den Text als reine ASCII-Datei ohne Forma-
- tierungscodes. Dieser Text kann daher mit ASCII-Editoren und
- direkt vom Desktop aus gelesen und ausgedruckt werden.
-
-
- 3. Bedienungsanleitung
-
- 3.1 Bedienung von TRASH.CPX
-
- TRASH.CPX wird genauso bedient wie die von Atari mitgelieferten
- CPX-Module. In der Modul-Liste von XCONTROL trägt es sich unter
- der Bezeichnung 'Trash Utility' ein.
- Die Funktionen von TRASH.CPX sind auf zwei Dialogboxen verteilt:
-
- Hauptdialog ........... Einstellen der Parameter
- Löschdialog ........... Löschen der Dateien im TrashDir
-
-
- 3.1.1 TRASH.CPX: Bedienung Hauptdialog
-
- Die Bedienungselemente des Hauptdialogs von TRASH.CPX sind in
- fünf Funktionsgruppen unterteilt:
-
- Papierkorb-Funktion ... Wahl der Papierkorbfunktion
- TrashDir-Ordner ....... Einstellen des TrashDir-Ordners
- Lösch-Icon ............ Übergang zum Löschdialog
- Information ........... Information über das CPX-Modul
- Status-Funktionen ..... Speichern/Übernahme von Änderungen
-
-
- 3.1.1.1 TRASH.CPX: Hauptdialog / Papierkorb-Funktion
-
- Klickt man den Auswahlknopf für die Papierkorbfunktion an,
- erscheint ein Popup-Menü mit den Einträgen 'verschieben' und
- 'vernichten'. Wird 'verschieben' ausgewählt, wird eine Datei, die
- auf des Papierkorb-Icon des Desktop gezogen oder von einem
- Programm per Betriebssystemaufruf gelöscht wird, in das TrashDir
- (s. dort) verschoben und nicht endgültig gelöscht. Gleichwohl
- wird sie an der ursprünglichen Stelle entfernt. Man kann eine
- solchermaßen 'verschobene' Datei also dadurch wiederherstellen,
- daß man sie aus dem TrashDir an eine beliebige andere Stelle
- zurückkopiert. Prinzipbedingt wird auch eine Kopie einer Datei im
- TrashDir angelegt, die mittels des ab TOS 1.04 verfügbaren
- Desktop-Verschiebebefehls (CONTROL-Taste beim Kopiervorgang
- gedrückt halten) verschoben wurde; dies ist aber nicht schädlich,
- das Verschieben wird vom Desktop korrekt ausgeführt.
- Klickt man 'vernichten' an, verhält sich der Papierkorb wie
- gewohnt: Dateien, die auf das Papierkorb-Icon gezogen oder von
- Programmen per Betriebssystemaufruf gelöscht werden, werden un-
- widerruflich gelöscht.
-
-
- 3.1.1.2 TRASH.CPX: Hauptdialog / TrashDir-Ordner
-
- Im Feld TrashDir-Ordner wird der ausgewählte Ordner zur Aufnahme
- der verschobenen Dateien angezeigt. Ist der Pfad länger als das
- Anzeigefeld kann mittels der Scroll-Knöpfe links und rechts neben
- dem Anzeigefeld im Pfad gesrollt werden. Hat der Pfad Überlänge,
- wird dies durch die Symbole '«' in der ersten bzw. '»' in der
- letzen Spalte angezeigt.
- Klickt man das Pfad-Anzeigefeld an, erscheint eine Dateiauswahl-
- box. Hier kann ein neuer Ordner als TrashDir-Ordner ausgewählt
- werden. Der bisherige Ordner ist voreingestellt. Wenn man den
- gewünschten Ordner erreicht hat, klickt man den OK-Knopf an. Die
- Auswahl einer bestimmten Datei hat keinen Einfluß. Wird der
- ABBRUCH-Knopf angeklickt, bleibt der alte TrashDir-Ordner erhal-
- ten.
- Es ist bei ausreichendem Speicherausbau eventuell ratsam, den
- TrashDir-Ordner auf einer (vorzugsweise resetfesten) RAM-Disk
- anzulegen; damit erspart man sich beim Beenden der Arbeit am
- Rechner das Löschen der ins TrashDir verschobenen Dateien, die
- man endgültig löschen möchte.
-
-
- 3.1.1.3 TRASH.CPX: Hauptdialog / Lösch-Icon
-
- Wird dieses Icon (unter links) angeklickt, wechselt man in den
- Löschdialog, in dem man die ins TrashDir verschobenen Dateien
- endgültig löschen kann (s. Bedienung Löschdialog).
-
-
- 3.1.1.4 TRASH.CPX: Information
-
- Nach dem Anklicken des Informationsknopfes erscheint eine Infor-
- mationsbox. Mittels Anklicken des OK-Knopfes oder Drücken der
- RETURN-Taste gelangt man zurück zum Hauptdialog.
-
-
- 3.1.1.5 TRASH.CPX: Status-Funktionen
-
- Diese Funktionsgruppe befindet sich am unteren Rand der Dialog-
- box. Sie besteht aus drei Auswahlknöpfen:
- SICHERN, OK und ABBRUCH.
- SICHERN speichert die aktuellen Funktionseinstellungen nach
- Rückfrage im CPX-Modul. Dazu ist es erforderlich, daß sich das
- CPX-Modul noch im CPX-Verzeichnis befindet. Beim nächsten Booten
- des Systems werden dann alle Funktionen so eingestellt wie zum
- Zeitpunkt des Sicherns.
- OK übernimmt alle Funktionseinstellungen bis zum nächsten Reset
- bzw. Ausschalten des Systems. Das bedeutet, daß die Einstellungen
- bis zum nächsten Reset bzw. Ausschalten erhalten bleiben, beim
- nächsten Booten jedoch wieder auf die zuletzt gespeicherten Werte
- gesetzt werden.
- ABBRUCH verwirft die vorgenommenen Änderungen der Funktionsein-
- stellungen und stellt den Zustand wieder her, der vorlag, als
- TRASH.CPX aufgerufen wurde.
- Das Anklicken des Schließknopfes des Kontrollfeldfensters hat,
- während man sich im Hauptdialog befindet, die Wirkung von OK;
- befindet man sich im Löschdialog, hat es die Wirkung von ABBRUCH.
- Zusätzlich wird das Kontrollfeldfenster geschlossen.
- Wenn bei geöffnetem Kontrollfeldfenster und aufgerufenem
- TRASH.CPX die laufende Applikation beendet wird hat das die
- gleiche Wirkung wie ABBRUCH, nur daß außerdem das Kontrollfeld-
- fenster geschlossen wird.
-
-
- 3.1.2 TRASH.CPX: Bedienung Löschdialog
-
- Die Bedienungselemente des Löschdialogs von TRASH.CPX sind in
- drei Funktionsgruppen unterteilt:
-
- Löschfunktionen ....... Auslösen von Löschfunktionen
- Dateiauswahl .......... Selektion der zu löschenden Dateien
- Ausgang ............... Rückkehr zum Hauptdialog
-
-
- 3.1.2.1 TRASH.CPX: Löschdialog / Löschfunktionen
-
- Diese Funktionsgruppe besteht aus zwei Knöpfen:
- 'selektiv' und 'alles'.
- Klickt man auf den Knopf 'selektiv' werden alle Dateien im
- TrashDir unwiderruflich gelöscht, die zuvor im Dateiauswahlfen-
- ster selektiert wurden (s. Löschdialog / Dateiauswahl). Ist keine
- Datei im Auswahlfenster selektiert oder überhaupt keine Datei im
- TrashDir, ist der Knopf nicht anwählbar.
- Wird der Knopf 'alles' angeklickt, werden nach einer Sicherheits-
- abfrage alle Dateien im TrashDir unwiderruflich gelöscht.
- Dateien, die zuvor im Dateiauswahlfenster selektiert wurden (s.
- Löschdialog / Dateiauswahl), werden bei dieser Funktion NICHT
- gelöscht.
-
-
- 3.1.2.2 TRASH.CPX: Löschdialog / Dateiauswahl
-
- Im Dateiauswahlfenster können einzelne oder mehrere Dateien
- selektiert werden, die endgültig gelöscht oder nicht gelöscht
- werden sollen (s. Löschdialog / Löschfunktionen).
- Mittels der Pfeile und des Schiebers rechts am Fensterrand kann
- im TrashDir wie vom Desktop-Dateiauswahlfenster her gewohnt
- gescrollt werden. Dabei bleiben bereits getroffene Selektionen
- erhalten.
- Einzelne Dateien werden mittels Einfachklick auf ihren Eintrag im
- Fenster selektiert. Bei einem erneuten Klickt auf eine bereits
- selektierte Datei wird diese deselektiert. Eine selektierte Datei
- wird in invertierter Schrift angezeigt.
- Mehrere Dateien kann man selektieren, indem man einen Eintrag
- anklickt und bei gedrückter Maustaste über andere Einträge fährt.
- Berührt man dabei Einträge, die bereits selektiert waren, bleiben
- diese selektiert. Fährt man bei gedrückter Maustaste nach oben
- oder unten aus dem Fenster heraus und gibt es noch weitere
- Dateien im TrashDir werden diese durch das Fenster gescrollt und
- ebenfalls selektiert. Hat man zuviele Dateien selektiert kann man
- bei immer noch gedrückter Maustaste in die Gegenrichtung fahren
- und dadurch die zuletzt selektierten Dateien wieder deselektie-
- ren. Man kann sogar wieder über den zuerst selektierten Eintrag
- zurückfahren und weitere Dateien in der anderen Richtung selek-
- tieren; der zuerst selektierte Eintrag bleibt dabei selektiert.
- Auf gleiche Weise kann man bereits selektierte Dateien deselek-
- tieren. Die jeweilige Funktion (Selektion/Deselektion) ist dabei
- vom Status des zuerst angeklickten Eintrags abhängig. Zur Übung
- kann man ruhig mit dieser Funktion experimentieren; solange keine
- Löschfunktion (s. Löschdialog / Löschfunktionen) ausgelöst wird
- kann nichts passieren.
- Alle Selektionen verlieren ihre Gültigkeit, nachdem eine Lösch-
- funktion (s. Löschdialog / Löschfunktionen) ausgelöst wurde oder
- wenn der Löschdialog mittels des 'Ausgang'-Knopfes (s. Löschdia-
- log / Ausgang) verlassen wird.
- Im Dateiauswahlfenster werden maximal 50 Dateien angezeigt. Im
- allgemeinen sollte diese Anzahl ausreichen; wenn man mehr als 50
- Dateien im TrashDir hat, scheint es an der Zeit, mal wieder auf-
- zuräumen.
-
-
- 3.1.2.3 TRASH.CPX: Löschdialog / Ausgang
-
- Wird der Knopf 'Ausgang' angeklickt gelangt man zurück zum
- Hauptdialog von TRASH.CPX (s. Bedienung Hauptdialog).
-
-
- 3.2 Bedienung von TRASH.PRG
-
- TRASH.PRG hat keine eigentlichen Bedienungselemente. Es ist als
- AUTO-Ordner-Anwendung konzipiert. Da es nicht auf den Zeitpunkt
- der Installation ankommt und TRASH.PRG ein reines TOS-Programm
- ist, kann es auch vom Desktop aus gestartet werden. Es sollte
- dann jedoch in TRASH.TOS umbenannt werden. Unter der Betriebs-
- systemerweiterung MiNT muß TRASH.PRG nach MiNT gestartet werden,
- also z.B. aus MINT.CNF heraus.
- TRASH.PRG versucht, einen residenten Treiber für einen 'leer-
- baren' Papierkorb zu installieren; dabei geben Meldungen Auskunft
- über den Stand der Dinge.
- Was TRASH.PRG macht ist im Abschnitt 'Internes' angegeben.
-
-
- 3.2.1 TRASH.PRG: Meldungen
-
- TRASH.PRG gibt während des Programmlaufs Meldungen auf dem TOS-
- Bildschirm aus.
- Zunächst installiert TRASH.PRG einen Cookie im Cookie-Jar (s.
- Internes). Tritt dabei ein Fehler auf, wird eine entsprechende
- Meldung ausgegeben und das Programm abgebrochen. TRASH.PRG ver-
- bleibt dann nicht resident im Speicher.
- Anschließend installiert TRASH.PRG den Treiber für den 'leer-
- baren' Papierkorb. Die erfolgreiche Installation wird gemeldet.
- Der 'leerbare' Papierkorb ist zunächst ausgeschaltet, d.h. der
- Papierkorb auf dem Dektop verhält sich normal. Die Papierkorb-
- Funktion kann von TRASH.CPX aus konfiguriert werden (s. dort).
- Falls der Treiber installiert werden konnte bleibt TRASH.PRG
- resident im Speicher.
-
-
- 3.2.2 TRASH.PRG: Internes
-
- Für Programmierer oder Interessierte wird in diesem Abschnitt
- ausgeführt, wie sich TRASH.PRG ins System einklinkt.
- TRASH.PRG versucht nach dem Start einen Cookie im Cookie-Jar
- anzulegen. Dazu wird überprüft, ob bereits ein Jar angelegt
- wurde; wenn nicht legt TRASH.PRG einen Jar für acht Cookies an
- und installiert eine Routine im resvector, die bei einem Reset
- den Cookie-Jar deinstalliert (für TOS 1.xx erforderlich).
- Existiert bereits ein Jar, wird untersucht, ob TRASH.PRG bereits
- installiert wurde; in diesem Fall wird das Programm abgebrochen
- und bleibt selbstverständlich nicht nochmal im Speicher. Ist
- TRASH.PRG noch nicht installiert, wird ein neuer Cookie angelegt;
- ist der aktuelle Jar voll, legt TRASH.PRG einen größeren an.
- Wenn ein Cookie angelegt werden kann, hat dieser die Kennung
- (Magic) "MZTR" (0x4D5A5452L). Der Wert (Value) des Cookies
- enthält einen Pointer auf die zentrale Datenstruktur von
- TRASH.PRG:
-
- typedef struct
- {
- int trash_status;
- char trash_dir[128];
- int trash_version;
- } TRASH_INFO;
-
- Die Bedeutung der einzelnen Komponenten:
-
- trash_status: (R/W) 0 = Dateien löschen, 1 = verschieben
- trash_dir: (R/W) TrashDir-Pfad mit Laufwerk und
- abschließendem Backslash
- trash_version: (R/O) hex-Byte-Angabe der Version
- 1.Byte Hauptrev. / 2.Byte Unterrev.
-
- Nach dem Anlegen des Cookies verbiegt TRASH.PRG den TRAP#1-Vektor
- (GEMDOS) auf den Papierkorb-Treiber. Das XBRA-Protokoll ist
- implementiert; die XBRA-ID lautet "MZTR".
- Der Treiber fängt, wenn er aktiviert wurde, Ddelete()-Aufrufe ab
- und verschiebt die entsprechende Datei ins TrashDir. Dabei können
- mehrere Fehler auftreten, die im folgenden näher erläutert
- werden:
- Zunächst wird geprüft, ob die betreffende Datei überhaupt vorhan-
- den ist; wenn nicht, wird an dieser Stelle der Fehlercode '-33'
- zurückgeliefert.
- Danach wird geprüft, ob die Datei den 'nur lesen'-Status hat
- (Fehlercode '-36'). Anschließend wird per Malloc() Speicher zur
- Aufnahme der Datei angefordert. Reicht der Speicher nicht aus,
- wird ebenfalls ein Fehler gemeldet ('-39').
- Dann wird die Datei in den Speicher eingelesen. Auftretende
- Fehler werden mit dem entsprechenden Fehlercode gemeldet. Wenn
- die Datei eingelesen wurde, wird sie ins TrashDir zurückgeschrie-
- ben und danach wird der Speicher wieder freigegeben. Eventuelle
- Fehler werden wie beschrieben gemeldet.
- In der aktuellen Version von TRASH.PRG (V 01.05) ist es kein
- Fehler, wenn bereits eine Datei gleichen Namens im TrashDir
- existiert; diese wird dann von der aktuellen Datei überschrieben.
- Diesem Verhalten liegt die Philosophie zugrunde, daß es aus-
- reicht, jeweils die letzte gelöschte Version einer Datei für eine
- eventuelle Restaurierung vorzuhalten. Außerdem würde sonst das
- TrashDir unter Umständen sehr schnell anwachsen.
- Schließlich wird die Datei am Ursprungsort gelöscht.
-
- Nachdem die Installation abgeschlossen ist, verbleibt TRASH.PRG
- komplett im Speicher (mittels Ptermres).
- TRASH.PRG wurde vollständig in Assembler geschrieben (Pure
- Assembler, ASH) und TRASH.CPX in PureC (auch ASH).
-
-
- 4. Copyright und Haftungsausschluß
-
- TRASH.CPX und TRASH.PRG wurden entwickelt von
-
- Michael Zuhl
- Transvaalstr. 16
- 1000 Berlin 65
-
- Einige Anregungen, Ideen und Tricks wurden folgenden Quellen ent-
- nommen:
-
- - CPX-Programmierung:
- "CPX - Dem variablen Kontrollfeld auf der Spur", Serie in
- ST-Computer 3-5/91 + 9/91, Uwe Hax und Oliver Scholz
-
- - Cookiejar-Prinzip:
- "STee-Gebäck - Das Cookie-Jar-Prinzip", in
- ST-Computer 12/90, Rolf Kotzian
- "Vorhang auf für die Keksdose", in
- ST-Magazin 3/90, Julian F. Reschke
-
- - XBRA-Protokoll und überhaupt:
- Atari ST Profibuch, Jankowski/Rabich/Reschke,
- SYBEX-Verlag, 10. Auflage 1991
-
-
- Die CPX-Module der Utility-Serie von mz'91 (also auch TRASH.CPX
- und TRASH.PRG) sind Freeware, d.h. sie dürfen kopiert und
- weitergegeben werden, solange dies nicht kommerziell geschieht;
- davon ausgenommen ist lediglich die Verbreitung über PD-Disket-
- ten, solange diese gegen einen geringen Unkostenbeitrag abgegeben
- werden.
-
- Obwohl bei der Programmierung alle Sorgfalt geübt wurde und
- TRASH.CPX und TRASH.PRG bei mir fehlerfrei laufen (s. Einschrän-
- kung im Farbbetrieb unter 'Beschreibung von TRASH.CPX'), kann ich
- keinerlei Garantie oder Haftung übernehmen, weder für die angege-
- benen Funktionen noch für irgendwelche eventuell aus dem Gebrauch
- dieser Programme entstehenden Folgeschäden. Der Einsatz dieser
- Programme erfolgt ausschließlich auf eigenes Risiko.
-
-
-
-
-
-
-
-
-
- TRASH.CPX V01.05
- TRASH.PRG V01.05
- 10.09.92 mz'91
-
-